// Generated from java-escape by ANTLR 4.11.1
package pers.cz.expression;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link JefExpressionParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface JefExpressionVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link JefExpressionParser#prog}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProg(JefExpressionParser.ProgContext ctx);
	/**
	 * Visit a parse tree produced by the {@code assign}
	 * labeled alternative in {@link JefExpressionParser#start}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAssign(JefExpressionParser.AssignContext ctx);
	/**
	 * Visit a parse tree produced by the {@code blank}
	 * labeled alternative in {@link JefExpressionParser#start}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlank(JefExpressionParser.BlankContext ctx);
	/**
	 * Visit a parse tree produced by {@link JefExpressionParser#leftexpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLeftexpr(JefExpressionParser.LeftexprContext ctx);
	/**
	 * Visit a parse tree produced by {@link JefExpressionParser#rightexpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRightexpr(JefExpressionParser.RightexprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code number}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNumber(JefExpressionParser.NumberContext ctx);
	/**
	 * Visit a parse tree produced by the {@code parens}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParens(JefExpressionParser.ParensContext ctx);
	/**
	 * Visit a parse tree produced by the {@code jsonplaceholder}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJsonplaceholder(JefExpressionParser.JsonplaceholderContext ctx);
	/**
	 * Visit a parse tree produced by the {@code MulDiv}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMulDiv(JefExpressionParser.MulDivContext ctx);
	/**
	 * Visit a parse tree produced by the {@code AddSub}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAddSub(JefExpressionParser.AddSubContext ctx);
	/**
	 * Visit a parse tree produced by the {@code dbplaceholder}
	 * labeled alternative in {@link JefExpressionParser#expr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDbplaceholder(JefExpressionParser.DbplaceholderContext ctx);
}
